FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}

{% block novajoin_base_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{{ macros.configure_user(name='novajoin') }}

{% if install_type == 'binary' %}
    {% if base_package_type == 'rpm' %}
        {% set novajoin_base_packages = [
            'python3-novajoin'
        ] %}
    {% else %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
    && /bin/false
    {% endif %}

{{ macros.install_packages(novajoin_base_packages | customizable("packages")) }}

{% elif install_type == 'source' %}
    {% if base_package_type == 'rpm' %}
        {% set novajoin_base_packages = [
            'ipa-admintools',
        ] %}
    {% elif base_distro in ['debian', 'ubuntu'] %}
        {% set novajoin_base_packages = [
            'freeipa-client',
        ] %}
    {% endif %}

{{ macros.install_packages(novajoin_base_packages | customizable("packages")) }}

ADD novajoin-base-archive /novajoin-base-source

{% set novajoin_base_pip_packages = [
    '/novajoin'
] %}

RUN ln -s novajoin-base-source/* novajoin \
    && {{ macros.install_pip(novajoin_base_pip_packages | customizable("pip_packages")) }} \
    && mkdir -p /etc/nova /etc/novajoin \
    && chown -R novajoin: /etc/nova /etc/novajoin

{% endif %}

COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 750 /etc/sudoers.d \
    && touch /usr/local/bin/kolla_novajoin_extend_start \
    && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_novajoin_extend_start

{% block novajoin_base_footer %}{% endblock %}
